a8dc9209d76165d1b55488a67d5d9a899e2221e5,framework/base/src/org/ofbiz/base/util/TimeDuration.java,TimeDuration,set,#Calendar#Calendar#,171
Before Change
// this will be used to speed up time comparisons
long targetMillis = calEnd.getTimeInMillis();
long deltaMillis = targetMillis - calStart.getTimeInMillis();
// shortcut for equal dates
if (deltaMillis == 0) {
return;
}
// compute elapsed years
long yearMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_YEAR);
float units = deltaMillis / yearMillis;
this.years = advanceCalendar(calStart, calEnd, (int) units, Calendar.YEAR);
deltaMillis = targetMillis - calStart.getTimeInMillis();
// compute elapsed months
long monthMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_MONTH);
units = deltaMillis / monthMillis;
this.months = advanceCalendar(calStart, calEnd, (int) units, Calendar.MONTH);
deltaMillis = targetMillis - calStart.getTimeInMillis();
// compute elapsed days
units = deltaMillis / 86400000;
this.days = advanceCalendar(calStart, calEnd, (int) units, Calendar.DAY_OF_MONTH);
deltaMillis = targetMillis - calStart.getTimeInMillis();
// compute elapsed hours
units = deltaMillis / 3600000;
this.hours = advanceCalendar(calStart, calEnd, (int) units, Calendar.HOUR);
deltaMillis = targetMillis - calStart.getTimeInMillis();
// compute elapsed minutes
units = deltaMillis / 60000;
this.minutes = advanceCalendar(calStart, calEnd, (int) units, Calendar.MINUTE);
deltaMillis = targetMillis - calStart.getTimeInMillis();
// compute elapsed seconds
units = deltaMillis / 1000;
After Change
long monthMillis = 86400000 * calStart.getMinimum(Calendar.DAY_OF_MONTH);
units = deltaMillis / monthMillis;
this.months = advanceCalendar(calStart, calEnd, (int) units, Calendar.MONTH);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
// compute elapsed days
units = deltaMillis / 86400000;
this.days = advanceCalendar(calStart, calEnd, (int) units, Calendar.DAY_OF_MONTH);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
// compute elapsed hours
units = deltaMillis / 3600000;
this.hours = advanceCalendar(calStart, calEnd, (int) units, Calendar.HOUR);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
// compute elapsed minutes
units = deltaMillis / 60000;
this.minutes = advanceCalendar(calStart, calEnd, (int) units, Calendar.MINUTE);
deltaMillis = computeDeltaMillis(calStart.getTimeInMillis(), targetMillis);
// compute elapsed seconds
units = deltaMillis / 1000;